The universal serial bus (USB) provides a low cost solution for attaching peripheral devices to a host, such as a host computer or host server, so that the peripheral devices and the host can communicate with each other. Devices that are attached to a USB bus are automatically detected and software automatically configures the devices for immediate use, typically without user intervention. The USB devices/peripherals may include devices such as printers, scanners, keyboards, a mouse, digital cameras, digital video cameras, data acquisition devices, modems, speakers, telephones or video phones, storage devices such as ZIP drives, or other peripherals or devices. A USB bus can be extended with a hub which permits additional peripherals, or other hubs, to be coupled to a USB bus.
The USB specification entitled “Universal Serial Bus Revision 2.0 Specification” available at www.usb.org, the disclosure of which is hereby incorporated by reference in its entirety, dictates various requirements and protocols for devices connected with a USB bus—such as issues relating to power management.
Typically, a USB bus may include a host connected by a USB cable to one or more peripherals/devices or hubs. By convention, data transmitted in the direction of the peripheral device is said to be in the “downstream” direction, while data transmitted in the direction of the host is said to be in the “upstream” direction.
USB supports three speeds of operation, high-speed USB supporting 480 Mega bits per second (Mbps) data rates, full speed USB supporting data rates of 12 Mbps, and low speed USB supporting data rates of 1.5 Mbps. In general, high-speed USB devices consume greater amounts of power than full speed or low speed USB devices. Such greater power consumption may affect the battery life of systems such laptop computers, personal data assistants (PDAs), portable devices, or other devices which include high-speed USB capabilities.
Accordingly, as recognized by the present inventor, what is needed is a method and apparatus for managing the power consumed by a USB device (e.g., a host, hub, or peripheral) so as to reduce the amount of power consumed by the USB device.
It is against this background that various embodiments of the present invention were developed.